/**
 *
 * @Author 董熠涛
 * @Date 2025/6/16 20:22
 */
package example.springboot.dto;

import lombok.Data;
import java.util.ArrayList;
import java.util.List;

@Data
public class ImportResult {
    private int successCount;      // 成功导入的数量
    private int skipCount;          // 跳过的数量（重复数据）
    private int errorCount;         // 错误的数量
    private List<String> errors;    // 错误详情列表
    private List<String> skippedWords;  // 跳过的单词列表（重复的单词）
    
    public ImportResult() {
        this.successCount = 0;
        this.skipCount = 0;
        this.errorCount = 0;
        this.errors = new ArrayList<>();
        this.skippedWords = new ArrayList<>();
    }
    
    /**
     * 获取详细的导入结果消息
     */
    public String getMessage() {
        // 如果全部都是重复的，给出明确提示
        if (successCount == 0 && skipCount > 0 && errorCount == 0) {
            return "导入完成：所有 " + skipCount + " 个单词都已存在，已跳过重复数据";
        }
        
        // 如果全部都有错误
        if (successCount == 0 && skipCount == 0 && errorCount > 0) {
            return "导入失败：所有数据都有错误，未导入任何单词";
        }
        
        // 构建详细消息
        StringBuilder message = new StringBuilder();
        
        if (successCount > 0) {
            message.append("成功导入 ").append(successCount).append(" 个单词");
        }
        
        if (skipCount > 0) {
            if (message.length() > 0) {
                message.append("，");
            }
            message.append("跳过 ").append(skipCount).append(" 个重复单词");
        }
        
        if (errorCount > 0) {
            if (message.length() > 0) {
                message.append("，");
            }
            message.append(errorCount).append(" 行有错误");
        }
        
        return message.length() > 0 ? message.toString() : "导入完成，但没有任何数据被处理";
    }
}

